package com.cjst.dao.mapper.sys;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.cjst.dao.mapper.base.BaseMapper;
import com.cjst.pojo.sys.SysMenu;
import com.cjst.sdp.util.MenuNode;
import com.cjst.sdp.util.ZTreeNode;

/**
 * 菜单相关
 * @author yj
 *
 */
@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenu, String>{
    /*public int deleteByPrimaryKey(String id);

    public int insert(SysMenu record);

    public int insertSelective(SysMenu record);

    public SysMenu selectByPrimaryKey(String id);

    public int updateByPrimaryKeySelective(SysMenu record);

    public int updateByPrimaryKey(SysMenu record);*/
    
    public List<SysMenu> selectMenus(SysMenu menu);
    
    public List<Map<String, Object>> getMenuMap(SysMenu menu);
    
   

    /**
     * 获取菜单列表树
     *
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeList();

    /**
     * 根据菜单IDS获取菜单列表树
     *
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeListByMenuIds(List<String> menuIds);

    


    /**
     * 获取资源url通过角色id
     *
     * @param roleId
     * @return
     * @date 2017年2月19日 下午7:12:38
     */
    List<String> getResUrlsByRoleId(Integer roleId);

    /**
     * 根据角色获取菜单
     *
     * @param roleIds
     * @return
     * @date 2017年2月19日 下午10:35:40
     */
    List<MenuNode> getMenusByRoleIds(List<Integer> roleIds);
    
}